#ifndef __LIST_H__
#define __LIST_H__

#define my_scanf(op, format, ...) do{       \
    int ret = 0;                            \
    ret = scanf(format, __VA_ARGS__);       \
    while (getchar() != '\n')               \
        /*do nothing*/;                     \
    if (ret < 0)                            \
        goto op;                            \
} while (0)                                 \

typedef struct node
{
    // 数据域
    int num;

    // 指针域
    struct node *next;
}NODE_T;


int list_append(NODE_T **head, int num);        // 链表尾部写入
int list_tarverse(NODE_T *head);                // 链表的遍历
int head_insert(NODE_T **head, int num);        // 链表头部写入
int list_destroy(NODE_T **head);                // 链表的销毁





#endif